Clean-CORBA Interface for Parallel Functional Programming on Clusters
نویسندگان
چکیده
The presented Clean-CORBA interface opens the way for developing parallel and distributed applications consisting of components written in a functional programming language, Clean. The interface defines a language mapping from the IDL language used by CORBA to Clean. It contains an IDL-to-Clean compiler which generates the necessary stub and skeleton routines from the IDL files. The interface is a general tool for connecting functional Clean programs and programs written in any language using a CORBA interface via the network. We focus on a specific application of this tool in this paper, we build a software architecture for programming clusters using the functional programming language Clean. We design and implement an abstract communication layer based on CORBA server objects. Using this architecture we can build up applications consisting components written in several programming languages, some components written in pure functional style in Clean, while other components written in an objectoriented language like Java or C#. Based on this software architecture the field of skeletal programming is studied, which suits very well with the functional programming. A skeleton for pipeline computing is chosen as an example to present the main features of this approach.
منابع مشابه
Functional Programs on Clusters?
The implemented Clean-CORBA and Haskell-CORBA interfaces open a way for developing parallel and distributed applications on clusters consisting of components written in functional programming languages, like Clean and Haskell. We focus on a specific application of this tool in this paper. We design and implement an abstract communication layer based on CORBA server objects. Using this layer we ...
متن کاملClean - CORBA Interface Supporting Pipeline Skeleton ∗
Modern functional programming deals with parallel and distributed computation. The lazy functional programming language Clean was extended for cluster computations using CORBA as middleware. The earlier Clean-CORBA interface supports developing and using skeletons for distributed and cluster computing in a limited way only. The interface user encounters three major problems. Clean skeletons are...
متن کاملA model for parallel programming over CORBA
Existing models for parallel programming over Common Object Request Broker Architecture (CORBA) do not address issues specific to parallel programming over a Network of Workstations (NOWs). This paper presents P-CORBA, a model for parallel programming over CORBA that addresses these issues. Transmission and distribution of computing power of a NOW is facilitated by P-CORBA. The main contributio...
متن کاملDesign of Language Elements for Dynamic Distributed Computation of Clean Expressions on Clusters
Our aim is to express computations in the form of distributed processnetworks, to develop and test parallel functional applications on PC clusters with Clean components using a middleware for the distributed communication and synchronization. The core version of the D-Clean and the D-Box languages supporting the distributed computation of the Clean client programs were presented earlier. In thi...
متن کاملPortable Parallel CORBA Objects: An Approach to Combine Parallel and Distributed Programming for Grid Computing
With the availability of Computational Grids, new kinds of applications that will soon emerge will raise the problem of how to program them on such computing systems. In this paper, we advocate a programming model that is based on a combination of parallel and distributed programming models. Compared to previous approaches, this work aims at bringing SPMD programming into CORBA. For example, we...
متن کامل